/*
 * @Author: Flying
 * @Date: 2022-03-27 14:53:51
 * @LastEditors: Jeanne
 * @LastEditTime: 2023-09-12 17:31:02
 * @Description: 标题说明
 * U: 完整DEMO，但不能操作实际设备
 * W：widget；lvgl按组件分类的demo
 * S：LVGL 功能性DEMO（内涵多种widget组合），更多的是为学习如何使用API，而非看效果
 */
#pragma once
#include "lvgl.h"
#include "my_conf.h"
#ifdef __cplusplus
extern "C"
{
#endif

    #include "common/app_common.h"

    typedef lv_obj_t *(*app_fun_t)();
    typedef lv_obj_t *(*quick_win_fun_t)(lv_obj_t *parent);

    // lv_obj_t *app_clean_screen();
    // lv_obj_t *wm_demo_widgets();
    // lv_obj_t *printer_3d_init(); // 采用squareline 1.2.3生成smarthome的sample后，ui_help文件跟这个范例不兼容，先屏蔽掉
    // lv_obj_t *app_mini3d();
    // lv_obj_t *app_music();
    // lv_obj_t *app_stress();
    // lv_obj_t *app_benchmark();
    // lv_obj_t *app_games();
    // lv_obj_t *app_other();
    // lv_obj_t *app_test();
    // lv_obj_t *app_ktv_demo();

    // lv_obj_t *app_style();
    // lv_obj_t *app_scroll();
    // lv_obj_t *app_get_started();
    // lv_obj_t *app_anim();
    // lv_obj_t *app_flex();
    // lv_obj_t *app_grid();


    // lv_obj_t *app_dropdown();
    lv_obj_t *app_hw_gpio();
    lv_obj_t *app_hw_audio();
    lv_obj_t *app_anim();
    lv_obj_t *app_animimg();
    lv_obj_t *app_arc();
    lv_obj_t *app_bar();
    lv_obj_t *app_benchmark();
    lv_obj_t *app_btn();
    lv_obj_t *app_btnmatrix();
    lv_obj_t *app_calendar();
    lv_obj_t *app_canvas();
    lv_obj_t *app_chart();
    lv_obj_t *app_chat_bot();
    lv_obj_t *app_checkbox();
    lv_obj_t *app_colorwheel(); 
    lv_obj_t *app_clean_screen();
    lv_obj_t *app_img();
    lv_obj_t *app_imgbtn();
    lv_obj_t *app_keyboard();
    lv_obj_t *app_label();
    lv_obj_t *app_led();
    lv_obj_t *app_line();
    lv_obj_t *app_list();
    // lv_obj_t *app_menu();
    // lv_obj_t *app_meter();
    // lv_obj_t *app_meter_demo();
    // lv_obj_t *app_msgbox();
    // lv_obj_t *app_roller();
    // lv_obj_t *app_slider();
    // lv_obj_t *app_span();
    // lv_obj_t *app_spinbox();
    // lv_obj_t *app_spinner();
    // lv_obj_t *app_switch();
    // lv_obj_t *app_table();
    // lv_obj_t *app_tabview();
    // lv_obj_t *app_textarea();
    // lv_obj_t *app_tileview();
    // lv_obj_t *app_win();
    // lv_obj_t *app_hospital();
    // lv_obj_t *app_massage_chair();
    // lv_obj_t *app_video_player();
    // lv_obj_t *app_media_player();
    // lv_obj_t *smarthome_init();
    // lv_obj_t *ebike_init();
    // lv_obj_t *massage_applet_init();

    // lv_obj_t *quick_win_games(lv_obj_t *parent);
    // lv_obj_t *quick_win_other(lv_obj_t *parent);
    // lv_obj_t *quick_win_scroll(lv_obj_t *parent);
    // lv_obj_t *quick_win_style(lv_obj_t *parent);
    // lv_obj_t *quick_win_get_started(lv_obj_t *parent);
    lv_obj_t *quick_win_anim(lv_obj_t *parent);
    lv_obj_t *quick_win_animimg(lv_obj_t *parent);
    // lv_obj_t *quick_win_stress(lv_obj_t *parent);
    // lv_obj_t *quicl_win_printer_3d(lv_obj_t *parent);
    // lv_obj_t *quick_win_demo_widgets(lv_obj_t *parent);
    LV_IMG_DECLARE(musicplayer);
    LV_IMG_DECLARE(hospital);
    LV_IMG_DECLARE(massagechair);
    LV_IMG_DECLARE(printer);
    LV_IMG_DECLARE(printer3D);
    LV_IMG_DECLARE(printer2D);
    LV_IMG_DECLARE(lvgl);
    LV_IMG_DECLARE(meter);
    LV_IMG_DECLARE(stresstest);
    LV_IMG_DECLARE(keyboard);
    LV_IMG_DECLARE(game);
    LV_IMG_DECLARE(animation);
    LV_IMG_DECLARE(cleanmode);
    LV_IMG_DECLARE(arc);
    LV_IMG_DECLARE(bar);
    LV_IMG_DECLARE(basetest);
    LV_IMG_DECLARE(chart);

    /*
         {&musicplayer , "KTV DEMO", app_ktv_demo, NULL},                                 \
         {&hospital , "医疗", app_hospital, NULL},                                    \
         {&massagechair , "按摩椅", app_massage_chair, NULL},                         \
         {&printer3D , "3D打印机", printer_3d_init, NULL},                            \
         {&printer2D , "2D打印机", printer_2d_init, NULL},                            \
         {&lvgl , "智能家居", smarthome_init, NULL},                                  \
         {&musicplayer , "音乐播放器", app_music, NULL},                              \
         {&lvgl , "动感单车", ebike_init, NULL},                                      \
         {&meter , "车仪表盘", app_meter_demo, NULL},                                 \
         {&game , "游戏", app_games, quick_win_games},                               \
         {&lvgl , "官方演示", wm_demo_widgets, NULL},                                 \
         {&stresstest , "压力测试", app_stress, quick_win_stress},                    \
         {&meter , "表盘组件", app_meter, NULL},                                       \
         {&msgbox , "消息栏组件", app_msgbox, NULL},                                  \
         {&loading , "过渡效果组件", app_spinner, NULL},                              \
         {&stresstest , "S:style功能", app_style, quick_win_style},                   \
         {&stresstest , "S:scroll功能", app_scroll, quick_win_scroll},                \
         {&stresstest , "S:get_started功能", app_get_started, quick_win_get_started}, \
         {&stresstest , "S:flex功能", app_flex, NULL},                                \
         {&stresstest , "S:grid功能", app_grid, NULL},                                \
         {&stresstest , "W:dropdown组件", app_dropdown, NULL},                        \
         {&stresstest , "W:img组件", app_img, NULL},                                  \
         {&stresstest , "W:imgbtn组件", app_imgbtn, NULL},                            \
         {&stresstest , "W:label组件", app_label, NULL},                               \
         {&stresstest , "W:led组件", app_led, NULL},                                   \
         {&stresstest , "W:line组件", app_line, NULL},                                 \
         {&stresstest , "W:list组件", app_list, NULL},                                \
         {&stresstest , "W:menu组件", app_menu, NULL},                                 \
         {&stresstest , "W:roller组件", app_roller, NULL},                            \
         {&bar , "W:slider组件", app_slider, NULL},                                   \
         {&stresstest , "W:span组件", app_span, NULL},                                \
         {&stresstest , "W:spinbox组件", app_spinbox, NULL},                          \
         {&stresstest , "W:switch组件", app_switch, NULL},                            \
         {&stresstest , "W:table组件", app_table, NULL},                              \
         {&stresstest , "W:tabview组件", app_tabview, NULL},                          \
         {&stresstest , "W:textarea组件", app_textarea, NULL},                        \
         {&stresstest , "W:tileview组件", app_tileview, NULL},                        \
         {&stresstest , "W:win组件", app_win, NULL},

         {&video , "视频播放器", app_media_player, NULL},          \ //视频播放器屏蔽
         {&massagechair , "小程序按摩器", massage_applet_init, NULL}, \ //死机
         {&keyboard , "键盘组件", app_keyboard, NULL},                     \ //有问题
         {&stresstest , "W:obj组件", app_obj, NULL},                     \  //没有该函数
         {&video , "h264播放演示", app_video_player, NULL},                            \
         {&", "", app_test, NULL},                                                         \
         {&stresstest , "其他", app_other, quick_win_other},   \\空的

            */

#ifdef __cplusplus
}
#endif
